package com.iflytek.cosmo.ocr.utils;

import com.iflytek.cosmo.ocr.common.util.ContUtil;
import com.iflytek.cosmo.ocr.model.entity.OcrFileEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;

/**
 * @author ViviZhou
 * @create 2019-12-30 17:05
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class FileNameComparator {

    @Test
    public void testFileName(){
        List<OcrFileEntity> ocrFileEntities = new ArrayList<>();
        List<String> fileNames = new ArrayList<>();
        fileNames.add("!@");fileNames.add("&()");fileNames.add("（");fileNames.add("）");fileNames.add(")");
        fileNames.add(",");fileNames.add("，");fileNames.add("、");fileNames.add(".");fileNames.add("'");
        fileNames.add("--");fileNames.add("---");fileNames.add("。");fileNames.add(";");fileNames.add("？");
        fileNames.add("^");fileNames.add("_");fileNames.add("~");fileNames.add("“");fileNames.add("】");fileNames.add("+1");
        fileNames.add("0-1");fileNames.add("001");fileNames.add("01-我的");fileNames.add("-1 test");fileNames.add("1");
        fileNames.add("-1");fileNames.add("1-test");fileNames.add("123ab");fileNames.add("abb");fileNames.add("abc");
        fileNames.add("ABCD");fileNames.add("cba测试");fileNames.add("G");fileNames.add("测试文件1");fileNames.add("测试文件2");
        fileNames.add("测试文件a");fileNames.add("哈哈");fileNames.add("汉字名称");fileNames.add("好的");fileNames.add("排序");
        fileNames.add("文件");fileNames.add("￥");fileNames.add("=");fileNames.add("000");
        fileNames.add("【");
        for (String fileName : fileNames){
            OcrFileEntity ocrFileEntity = new OcrFileEntity();
            ocrFileEntity.setFileName(fileName);
            ocrFileEntities.add(ocrFileEntity);
        }
        ContUtil.fileNameSort(ocrFileEntities);
        ocrFileEntities.forEach((t) -> {System.out.println(t.getFileName());});
    }

    @Test
    public void testFileName01(){
        List<OcrFileEntity> ocrFileEntities = new ArrayList<>();
        List<String> fileNames = new ArrayList<>();
        fileNames.add("A");
        fileNames.add("b");
        for (String fileName : fileNames){
            OcrFileEntity ocrFileEntity = new OcrFileEntity();
            ocrFileEntity.setFileName(fileName);
            ocrFileEntities.add(ocrFileEntity);
        }
        ContUtil.fileNameSort(ocrFileEntities);
        System.out.println(isChinese("￥"));
        ocrFileEntities.forEach(t -> System.out.println(t.getFileName()));
    }

    public static boolean isChinese(String str) {
        if (str == null) {
            return false;
        }
        Pattern pattern = Pattern.compile("[\\u4E00-\\u9FBF]+");
        return pattern.matcher(str.trim()).find();
    }
}
